home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-noop-echo-01.txt < prev    next >
Text File  |  1993-03-03  |  25KB  |  660 lines

  1.  
  2.                          An Echo Function for ISO 8473
  3.  
  4.  
  5.           Network Working Group                     IETF-NOOP Working Group
  6.           INTERNET DRAFT                            C. Wittbrodt, S. Hares
  7.  
  8.  
  9.  
  10.  
  11.           1.  Status of this Memo
  12.  
  13.           This memo is an Internet Draft.  Internet Drafts are working
  14.           documents of the Internet Engineering Task Force (IETF), its
  15.           Areas, and its Working Groups.  Note that other  groups  may
  16.           also distribute working documents as Internet Drafts.
  17.  
  18.           Internet Drafts are draft documents valid for a  maximum  of
  19.           six  months.   Internet  Drafts may be updated, replaced, or
  20.           obsoleted by  other  documents  at  any  time.   It  is  not
  21.           appropriate  to use Internet Drafts as reference material or
  22.           to cite them other than as a "working  draft"  or  "work  in
  23.           progress."
  24.  
  25.           Please check the I-D  abstract  listing  contained  in  each
  26.           Internet Draft directory to learn the current status of this
  27.           or any other Internet Draft.
  28.  
  29.           This  Internet  Draft  defines  an  echo  function  for  the
  30.           connection-less  network  layer  protocol.  This memo is not
  31.           intended to compete with an ISO standard.  This  is  a  Pro-
  32.           posed  Elective  Standard for the Internet.  Distribution of
  33.           this memo is unlimited.
  34.  
  35.  
  36.           2.  Abstract
  37.  
  38.           This memo defines an echo function for  the  connection-less
  39.           network layer protocol.  The mechanism that is mandated here
  40.           is in the final process of  being  standardized  by  ISO  as
  41.           "Amendment  X:  Addition of an Echo function to ISO 8473" an
  42.           integral part of Version 2 of ISO 8473.
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.           February 18, 1993   Expires August 18, 1993             Page 1
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                          An Echo Function for ISO 8473
  69.  
  70.  
  71.           3.  Table of Contents
  72.  
  73.           Section 1 Status of this Memo .........................    1
  74.           Section 2 Abstract ....................................    1
  75.           Section 3 Table of Contents ...........................    2
  76.           Section 4 Conventions .................................    2
  77.           Section 5 Introduction ................................    2
  78.           Section 6 The Generic Echo Function ...................    3
  79.           Section 6.1 The Echo-Request ..........................    3
  80.           Section 6.2 The Echo-Reply ............................    4
  81.           Section 7 The Implementation Mechanism ................    4
  82.           Section 7.1 The Echo-Request ..........................    4
  83.           Section 7.2 The Echo-Reply ............................    5
  84.           Section 8 Implementation Notes ........................    5
  85.           Section 8.1 Discarding Packets ........................    5
  86.           Section 8.2 Error Report Flag .........................    5
  87.           Section 8.3 Use of the Lifetime Field .................    5
  88.           Section 8.4 Echo-request function .....................    5
  89.           Section 8.5 Echo-response function ....................    7
  90.           Section 8.6 Use of the Priority Option ................    8
  91.           Section 8.7 Use of the Source Route Option ............    9
  92.           Section 8.8 Transmission of Multiple Echo-Requests ....    9
  93.           Section 9 Security Considerations .....................    9
  94.           Section 10 References .................................   10
  95.  
  96.  
  97.  
  98.           4.  Conventions
  99.  
  100.              The following language conventions are used in the items of
  101.              specification in this document:
  102.  
  103.                 o MUST, SHALL, or MANDATORY -- the item is an absolute
  104.                   requirement of the specification.
  105.  
  106.                 o SHOULD or RECOMMENDED -- the item should generally be followed
  107.                   for all but exceptional circumstances.
  108.  
  109.                 o MAY or OPTIONAL -- the item is truly optional and may be
  110.                   followed or ignored according to the needs of the implementor.
  111.  
  112.  
  113.           5.  Introduction
  114.  
  115.           The OSI Connection-less network layer  protocol  (ISO  8473)
  116.           defines a means for transmitting and relaying data and error
  117.           protocol data units, (PDUs) or preferably,  packets  through
  118.           an  OSI internet.  Unfortunately, the world that these pack-
  119.           ets travel through is imperfect.   Gateways  and  links  may
  120.           fail.   This memo defines an echo function to be used in the
  121.           debugging and testing of the OSI network layer.   Hosts  and
  122.           routers  which support the OSI network layer MUST be able to
  123.           originate an echo packet as well as respond when an echo  is
  124.  
  125.  
  126.           February 18, 1993   Expires August 18, 1993             Page 2
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.                          An Echo Function for ISO 8473
  135.  
  136.  
  137.           received.
  138.  
  139.           Network management protocols can be used  to  determine  the
  140.           state  of a gateway or link.  However, since these protocols
  141.           themselves utilize a protocol  that  may  experience  packet
  142.           loss,  it  cannot  be guaranteed that the network management
  143.           applications can be utilized.  A  simple  mechanism  in  the
  144.           network  layer  is required so that systems can be probed to
  145.           determine if the lowest levels of  the  networking  software
  146.           are  operating correctly.  This mechanism is not intended to
  147.           compete with or replace network management; rather it should
  148.           be  viewed  as an addition to the facilities offered by net-
  149.           work management.
  150.  
  151.           The code-path consideration  requires  that  the  echo  path
  152.           through  a  system  be identical (or very close) to the path
  153.           used by normal data.  An echo path must succeed and fail  in
  154.           unison with the normal data path or else it will not provide
  155.           a useful diagnostic tool.
  156.  
  157.           Previous drafts describing an echo function for CLNP offered
  158.           two  implementation  alternatives  (see  RFC1139).  Although
  159.           backward compatibility is an important  consideration  when-
  160.           ever a change is made to a protocol, it is more important at
  161.           this point that the echo mechanisms  used  on  the  Internet
  162.           interoperate.  For this reason, this memo defines one imple-
  163.           mentation mechanism (consistent with  one  of  the  previous
  164.           drafts).
  165.  
  166.  
  167.           6.  The Generic Echo Function
  168.  
  169.           The following section describes the echo function in a  gen-
  170.           eric  fashion.   This  memo  defines an echo-request entity.
  171.           The function of the echo-request  entity  is  to  accept  an
  172.           incoming  echo-request  packet, perform some processing, and
  173.           generate an echo-response packet.  The  echo  implementation
  174.           may  be  thought of as an entity that coexists with the net-
  175.           work layer.  Subsequent sections will detail the implementa-
  176.           tion mechanism.
  177.  
  178.           For the purposes of this memo, the term "ping" shall be used
  179.           to  mean the act of transmitting an echo-request packet to a
  180.           remote system (with the expectation  that  an  echo-response
  181.           packet will be sent back to the transmitter).
  182.  
  183.  
  184.           6.1.  The Echo-Request
  185.  
  186.           When a system decides to ping  a  remote  system,  an  echo-
  187.           request  is  built.   All  fields  of  the packet header are
  188.           assigned normal values (see implementation specific sections
  189.           for  more  information).   The  address  of the system to be
  190.  
  191.  
  192.           February 18, 1993   Expires August 18, 1993             Page 3
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.                          An Echo Function for ISO 8473
  201.  
  202.  
  203.           pinged is inserted as the  destination  NSAP  address.   The
  204.           rules  of  segmentation  defined for a data (DT) packet also
  205.           apply to the echo-request packet.
  206.  
  207.           The echo-request is switched through the network toward  its
  208.           destination.   Upon  reaching  the  destination  system, the
  209.           packet is processed according to  normal  processing  rules.
  210.           At  the end of the input processing, the echo-request packet
  211.           is delivered to the echo-request entity.
  212.  
  213.           The echo-request entity will build and  dispatch  the  echo-
  214.           response  packet.   This  is  a new packet.  Except as noted
  215.           below, this second packet is built  using  the  normal  con-
  216.           struction  procedures.  The destination address of the echo-
  217.           response packet is taken from  the  source  address  of  the
  218.           echo-request  packet.   Most  options  present  in the echo-
  219.           request packet are copied into the echo-response packet (see
  220.           implementation notes for more information).
  221.  
  222.  
  223.           6.2.  The Echo-Reply
  224.  
  225.           The entire echo-request packet is included in the data  por-
  226.           tion  of  the echo-response packet.  This includes the echo-
  227.           request packet header as well as any data  that  accompanies
  228.           the  echo-request packet.  The entire echo-request packet is
  229.           included in the echo-response so that  fields  such  as  the
  230.           echo-request  lifetime  may  be  examined  when the reply is
  231.           received.  After the echo-response packet is  built,  it  is
  232.           transmitted  toward the new destination (the original source
  233.           of the echo-request).  The rules of segmentation defined for
  234.           a data packet also apply to the echo-response packet.
  235.  
  236.           The echo-response packet  is  relayed  through  the  network
  237.           toward  its  destination.  Upon reaching its destination, it
  238.           is processed by the packet input function and  delivered  to
  239.           the entity that created the echo-request.
  240.  
  241.  
  242.  
  243.           7.  The Implementation Mechanism
  244.  
  245.           The implementation mechanism defines  two  new  8473  packet
  246.           types: ERQ (echo-request) and ERP (echo-response).  With the
  247.           exception of a new type code, these packets will be  identi-
  248.           cal to the date packet in every respect.
  249.  
  250.  
  251.           7.1.  The Echo-Request
  252.  
  253.           The type code for the echo-request packet is decimal 30.
  254.  
  255.  
  256.  
  257.  
  258.           February 18, 1993   Expires August 18, 1993             Page 4
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.                          An Echo Function for ISO 8473
  267.  
  268.  
  269.           7.2.  The Echo-Reply
  270.  
  271.           The type code for the echo-response packet is decimal 31.
  272.  
  273.  
  274.           8.  Implementation Notes
  275.  
  276.           The following notes are an integral part  of  memo.   It  is
  277.           important that implementors take heed of these points.
  278.  
  279.  
  280.           8.1.  Discarding Packets
  281.  
  282.           The rules used for discarding a data packet (ISO  8473,  sec
  283.           6.9  -  sec  6.10) are applied when an echo-request or echo-
  284.           response is discarded.
  285.  
  286.  
  287.           8.2.  Error Report Flag
  288.  
  289.           The error report flag may be set on the echo-request packet,
  290.           the  echo-response  packet,  or both.  If an echo-request is
  291.           discarded, the associated error-report (ER) packet  will  be
  292.           sent  to  the echo-request source address on the originating
  293.           machine.  If an echo-response is discarded,  the  associated
  294.           error-report packet will be sent to the echo-response source
  295.           address.  In general, this will be the  destination  address
  296.           of  the  echo-request  entity.   It should be noted that the
  297.           echo-request entity and the originator of  the  echo-request
  298.           packet are not required to process error-report packets.
  299.  
  300.  
  301.           8.3.  Use of the Lifetime Field
  302.  
  303.           The lifetime field of  the  echo-request  and  echo-response
  304.           packets  should be set to the value normally used for a data
  305.           packet.  Note: although this memo does not prohibit the gen-
  306.           eration  of  a  packet  with  a smaller-than-normal lifetime
  307.           field, this memo explicitly does not  attempt  to  define  a
  308.           mechanism  for  varying  the lifetime field set in the echo-
  309.           response packet.  This memo recommends  the  lifetime  value
  310.           that would under normal circumstances by used when sending a
  311.           data packet.
  312.  
  313.  
  314.           8.4.  Echo-request function
  315.  
  316.           This function is invoked  by  system  management  to  obtain
  317.           information  about  the  dynamic  state of the Network layer
  318.           with respect to (a) the reachability  of  specific  network-
  319.           entities,  and  (b) the characteristics of the path or paths
  320.           that can be created  between  network-entities  through  the
  321.           operation of Network layer routing functions.  When invoked,
  322.  
  323.  
  324.           February 18, 1993   Expires August 18, 1993             Page 5
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.                          An Echo Function for ISO 8473
  333.  
  334.  
  335.           the  echo-request  function  causes  an  echo-request  (ERQ)
  336.           packet to be created.  The echo-request packet shall be con-
  337.           structed and processed by ISO 8473 network-entities  in  end
  338.           systems  and intermediate systems in exactly the same way as
  339.           the data packet, with the following caveats:
  340.  
  341.           a) The information available to the packet composition func-
  342.           tion  (ISO  8473)  consists of current state, local informa-
  343.           tion, and information supplied by system management.
  344.  
  345.           b) The source and destination address fields  of  the  echo-
  346.           request packet shall contain, respectively, a Network entity
  347.           title (NET) of the originating network-entity and a  Network
  348.           entity title of the destination network-entity (which may be
  349.           in either an end system or an intermediate  system).   NOTE:
  350.           A  Network  entity  title is syntactically indistinguishable
  351.           from an NSAP address.  The additional information in an NSAP
  352.           address,  if  any, beyond that which is present in a Network
  353.           entity title, is relevant  only  to  the  operation  of  the
  354.           packet  decomposition  function in a destination end system,
  355.           and therefore is not needed for the processing of  an  echo-
  356.           request  packet (from which no N-UNITDATA indication is ever
  357.           produced).  The fact that the source and destination address
  358.           fields  of  the echo-request packet contain NETs rather than
  359.           NSAP addresses therefore does not affect the  processing  of
  360.           an echo-request packet by any network-entity.
  361.  
  362.           c) When an echo-request packet has reached its  destination,
  363.           as  determined  by the Header processing (call HEADER FORMAT
  364.           Analysis function in ISO 8473), the  echo-response  function
  365.           shall handle this Network Protocol Data Units (NPDU) instead
  366.           of the packet decomposition  function.   In  ISO  8473,  the
  367.           packet  decomposition function is like a decomposing fish on
  368.           the sea shore - it takes a packet down to its bare bones and
  369.           processes it.
  370.  
  371.           Also, it is up to each individual system whether or not han-
  372.           dling echo-request packets involves system management.   One
  373.           example of involving  system  management  is  the  reporting
  374.           reception  of  the  echo packets as some systems do with the
  375.           ping packet.  Some systems find this of value  if  they  are
  376.           being pinged to death.
  377.  
  378.           d) The maximum length of the echo-request packet is equal to
  379.           the  maximum  length  of  the echo-response packet minus the
  380.           maximum length of the  echo-response  packet  header.   This
  381.           ensures that the entire echo-request packet can be contained
  382.           within the data field of the echo-response packet  (see  ISO
  383.           8473).
  384.  
  385.           e) The data part of the echo-request packet may, as a  local
  386.           matter, contain zero or more octets with any values that fit
  387.           withing the echo-request packet. (see (d) above for  maximum
  388.  
  389.  
  390.           February 18, 1993   Expires August 18, 1993             Page 6
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.                          An Echo Function for ISO 8473
  399.  
  400.  
  401.           length  of  the  echo-request packet). If the first octet of
  402.           data is binary 1000 0001, then an  echo-response  header  is
  403.           contained in the echo-request packet.  The existence of this
  404.           header insures that a router can formulate a standard  echo-
  405.           response packet.
  406.  
  407.           Normally, the "more segmentation" flag in  the  encapsulated
  408.           echo-response packet header shall be zero, and the segmenta-
  409.           tion  portion  of  the  encapsulated  packet  shall  not  be
  410.           included.   The  segmentation  length  in  the echo-response
  411.           packet header shall be zero.
  412.  
  413.           If the "more segmentation" flag is set in  the  encapsulated
  414.           echo-response  packet  header,  then  a  segmentation length
  415.           shall be filled in and the segmentation part  of  the  echo-
  416.           response  packet header will be present in the echo-response
  417.           header.  This same segmentation function shall be present in
  418.           the echo-response sent by the router.
  419.  
  420.           NOTE: However, this formulated echo-response is not required
  421.           between  any two systems.  With a common format for an echo-
  422.           request packet used in an environment such as the  Internet,
  423.           the  echo-response header may not be needed, and may in fact
  424.           be unnecessary overhead.
  425.  
  426.  
  427.           8.5.  Echo-response function
  428.  
  429.           This function is performed by a network-entity when  it  has
  430.           received  an echo-request packet that has reached its desti-
  431.           nation, as determined by the Header format analysis function
  432.           (ISO 8473 clause 6.3)  that is, an echo-request packet which
  433.           contains, in its destination address field, a Network entity
  434.           title that identifies the network-entity.  When invoked, the
  435.           echo-response function causes an echo-response (ERP)  packet
  436.           to  be  created.   The  echo-response  packet  shall be con-
  437.           structed and processed by ISO 8473 network-entities  in  end
  438.           systems  and intermediate systems in exactly the same way as
  439.           the data packet, with the following caveats:
  440.  
  441.           a) The information available to the packet composition func-
  442.           tion  consists  of  current  state,  local  information, and
  443.           information  contained  in  the  corresponding  echo-request
  444.           packet.
  445.  
  446.           b) The source address  field  of  the  echo-response  packet
  447.           shall  contain the value of the destination address field of
  448.           the  corresponding  echo-request  packet.  The   destination
  449.           address  field of the echo-response packet shall contain the
  450.           value of the  source  address  field  of  the  corresponding
  451.           echo-request packet.
  452.  
  453.           c) The echo-request packet, in its entirety, shall be placed
  454.  
  455.  
  456.           February 18, 1993   Expires August 18, 1993             Page 7
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.                          An Echo Function for ISO 8473
  465.  
  466.  
  467.           into  the  data  part of the echo-response packet.  The data
  468.           part of the echo-response  packet  shall  contain  only  the
  469.           corresponding echo-request packet.
  470.  
  471.           d) If the data part of the echo-request packet  contains  an
  472.           echo-response  header,  the packet composition function may,
  473.           but is not required to, use some or all of  the  information
  474.           contained  therein  to  select  values for the fields of the
  475.           echo-response packet header.  In  this  case,  however,  the
  476.           value  of  the lifetime field contained in the echo-response
  477.           packet header in the echo-request packet data part  must  be
  478.           used as the value of the lifetime field in the echo-response
  479.           packet. The values of the segment length and checksum fields
  480.           shall  be  computed  by the network-entity regardless of the
  481.           contents of those fields in the echo-response packet  header
  482.           in the data part of the echo-request packet.
  483.  
  484.           e) The options part of the echo-response packet may  contain
  485.           any  (or none) of the options described in ISO 8473 (but see
  486.           Section 8.7 of this RFC). The values for these  options,  if
  487.           present,  are  determined  by  the network-entity as a local
  488.           matter.  They may be, but are not  required  to  be,  either
  489.           identical  to  or  derived from the corresponding options in
  490.           the echo-request  packet  and/or  the  echo-response  packet
  491.           header contained in the data part of the echo-request packet
  492.           (if present).   The  source  routing  option  in  the  echo-
  493.           response  packet shall not be identical to (copied from) the
  494.           source routing option in the echo-request packet header.  If
  495.           the recording of route option in the echo-response packet is
  496.           identical to (copied from) the recording of route option  in
  497.           the  echo-request  packet  header,  the  second octet of the
  498.           parameter value field shall be set to the value 3.
  499.  
  500.           f) It is a local  matter  whether  or  not  the  destination
  501.           network-entity  performs the lifetime control function on an
  502.           echo-request  packet  before  performing  the  echo-response
  503.           function.   The  destination  network-entity  shall make the
  504.           same decision in this regard that it would make, as a  local
  505.           matter, for a data packet in accordance with ISO 8473.
  506.  
  507.  
  508.           8.6.  Use of the Priority Option
  509.  
  510.           The 8473 priority function indicates the  relative  priority
  511.           of packet.  0 is normal and 30 is the highest.  Packets with
  512.           higher values will be transmitted before lower values.   The
  513.           specific action upon receiving a 8473 packet with the prior-
  514.           ity field set is a "LOCAL MATTER".   These  means,  any  two
  515.           systems could do it differently.
  516.  
  517.           Hopefully, the future, Internet routers will handle this  as
  518.           a  priority  queueing  function.  Some implementors consider
  519.           the priority queueing function to be a cap.  For example  if
  520.  
  521.  
  522.           February 18, 1993   Expires August 18, 1993             Page 8
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.                          An Echo Function for ISO 8473
  531.  
  532.  
  533.           a  router  is  congested,  all those packets with priorities
  534.           higher than 20, will be  allowed  through,  and  those  with
  535.           priority less than 20 will be dropped.
  536.  
  537.           In short, the basic function of priority has  wide  latitude
  538.           in the ISO specification.  This wide latitude of implementa-
  539.           tion needs to be narrowed for implementations within a  com-
  540.           mon  network  environment  such  as  the Internet.  The 8473
  541.           priority function is rarely implemented in today's Internet.
  542.           The  transmission  of an echo-request packet with a priority
  543.           set may provided unexcepted results until a more wide spread
  544.           deployment  of  the priority feature in 8473 capable routers
  545.           and end systems.
  546.  
  547.           However, if the priority function must be  used  it  is  the
  548.           safest  value  may  be  the value 0 - which indicates Normal
  549.           priority.  It most likely this value will  follow  the  8473
  550.           pathways.
  551.  
  552.           In the future, as the implementation of the  priority  func-
  553.           tion  further  Internet documents will need to deal with its
  554.           expected use.
  555.  
  556.  
  557.  
  558.           8.7.  Use of the Source Route Option
  559.  
  560.           Use of the source route option in ISO 8473 may cause packets
  561.           to loop until their lifetime expires.  For this reason, this
  562.           memo recommends against the use of the source  route  option
  563.           in  either an echo-request or echo-response packets.  If the
  564.           source route option is used to specify the  route  that  the
  565.           echo-request  packet takes toward its destination, this memo
  566.           does not recommend the use  of  an  automatically  generated
  567.           source route on the echo-response packet.
  568.  
  569.  
  570.           8.8.  Transmission of Multiple Echo-Requests
  571.  
  572.           The echo function may be utilized by more than  one  process
  573.           on  any individual machine.  The mechanism by which multiple
  574.           echo-requests and echo-replies are correlated between multi-
  575.           ple  processes on a single machine is a local matter and not
  576.           defined by this memo.
  577.  
  578.  
  579.  
  580.  
  581.           9.  Security Considerations
  582.  
  583.           Security issues are not addressed in this memo.
  584.  
  585.  
  586.  
  587.  
  588.           February 18, 1993   Expires August 18, 1993             Page 9
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.                          An Echo Function for ISO 8473
  597.  
  598.  
  599.           10.  References
  600.  
  601.           [1] ISO/IEC.  Protocol for Providing the Connectionless-mode
  602.           Network  Service.   International Standard 8473, ISO/IEC JTC
  603.           1, Switzerland, 1986.
  604.  
  605.           [2] R. Hagens, "An Echo Function for ISO 8473", Request  For
  606.           Comment    #1139,   January 1990.   DDN Network  Information
  607.           Center, SRI International.
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.           February 18, 1993   Expires August 18, 1993            Page 10
  655.  
  656.  
  657.  
  658.  
  659.  
  660.